
//持久化 pinia 状态
// import { createPinia } from 'pinia';

export const persistPlugin = ({ store }) => {
    // 排除 chat 模块
    if(store.$id === 'chat' || store.$id === 'chatSimple'){
         return
    }
    // 从 localStorage 恢复状态
    const saved = localStorage.getItem(store.$id)
    if (saved) store.$patch(JSON.parse(saved))
// 监听变化并保存
    store.$subscribe((_, state) => {
        let obj =   JSON.parse(JSON.stringify(state))
        //从state 中排除 hasLoadedDynamicRoutes 字段 . 目的是为了防止刷新页面时, 动态路由已经加载, 但是 hasLoadedDynamicRoutes 字段为 false, 导致动态路由没有加载
        // 所以需要排除 hasLoadedDynamicRoutes 字段
        if (obj.hasOwnProperty('hasLoadedDynamicRoutes')) {
            delete obj.hasLoadedDynamicRoutes
        }
        localStorage.setItem(store.$id, JSON.stringify(obj))
    })
}